package com.ruoyi.system.mapper;

import com.ruoyi.common.core.domain.entity.FileAuthRef;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface FileAuthRefMapper {

    /**
     * 查出所有的角色和用户
     * @return
     */
    public List<Map<String, Object>> selectUserAndRoleList();

    /**
     * 批量插入文件权限关联信息
     * @param fileAuthRefList 文件权限关联信息列表
     */
    void batchInsertFileAuthRef(@Param("fileAuthRefList") List<FileAuthRef> fileAuthRefList);

    /**
     * 根据fileId和refId删除file_auth_ref记录
     * @param fileId 文件ID
     * @param refId 引用ID
     */
    void deleteFileAuthRefByFileIdAndRefId(@Param("fileId") Long fileId, @Param("refId") Long refId, @Param("type") int type);

    List<Long> selectAllByUserIdAndFileId(@Param("userId")Long userId,@Param("fileId") Long fileId,@Param("authId")Integer authId);
}